{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [],
   "source": [
    "import math\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from scipy.io.wavfile import read\n",
    "import soundfile as sf\n",
    "import json\n",
    "import re \n",
    "import io\n",
    "\n",
    "def mse(orig, quant):\n",
    "    qerr = orig - quant\n",
    "    sum_err = np.sum(qerr * qerr)\n",
    "    return sum_err / orig.size\n",
    "\n",
    "def mse_cplx(orig, quant):\n",
    "    qerr_real = orig.real - quant.real\n",
    "    qerr_imag = orig.imag - quant.imag\n",
    "    sum_err = np.sum(qerr_real * qerr_real) + np.sum(qerr_imag * qerr_imag)\n",
    "    return sum_err / (2*orig.size)\n",
    "\n",
    "def qsnr(orig, quant):\n",
    "    \"\"\"Calculate the QSNR between two tensors\n",
    "    \"\"\"\n",
    "    qerr = orig - quant\n",
    "    sum_err = np.sum(qerr * qerr)\n",
    "    sum_orig = np.sum(orig * orig)\n",
    "    if sum_err > 0:\n",
    "        if sum_orig < sum_err:\n",
    "            if sum_orig == 0:\n",
    "                return -math.inf\n",
    "            else:\n",
    "                # Means error is larger than signal\n",
    "                return -int(round(10 * math.log10(sum_err/sum_orig), 0))\n",
    "        # Error portion of signal\n",
    "        return int(round(10 * math.log10(sum_orig/sum_err), 0))\n",
    "    # Means no error\n",
    "    return math.inf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [],
   "source": [
    "file_path = \"../samples/yes.wav\"\n",
    "data, samplerate = sf.read(file_path)\n",
    "\n",
    "frame_size = 1024\n",
    "n_fft = 1024\n",
    "frame_step = 160\n",
    "\n",
    "frame_idx = 46\n",
    "frame = data[frame_idx*frame_step:frame_idx*frame_step+frame_size]\n",
    "win_frame = np.pad(frame * np.hanning(frame_size), (0, n_fft - frame_size), \"constant\")\n",
    "np_fft = np.fft.rfft(win_frame)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "Shift = 0\n",
    "out_preemph_c = np.array([\n",
    "\t\t-240, -2750, -1077, 3140, 2383, -2524, -3680, 538, 3737, 1565, -2664, -2712, 1168, 2268, -13, -680, -133, -790, -465, 1223, 995, -799, -1050, -127, 374, 440, 128, -347, -485, -369, -178, 545, 639, -726, -1328, -79, 868, 194, -573, -558, -417, -93, 390, 270, -408, -700, -352, 286, 592, -69, -772, -339, 305, 178, -83, -111, -237, -361, -156, 93, 5, -376, -568, -278, -90, -251, -474, -307, -471, -755, 850, 1551, -1549, -3288, 683, 4203, 896, -4026, -2708, 2508, 3802, -153, -3315, -1117, 2172, 1285, -513, -56, -191, -1006, 111, 1428, 373, -977, -542, 114, 191, 235, 148, -134, -359, -581, -134, 849, 399, -1086, -984, 371, 558, -225, -420, -265, -355, -118, 294, 164, -303, -476, -251, 197, 351, -159, -383, -29, 18, -151, 93, 237, -265, -594, -232, 134, -67, -372, -360, -266, -442, -519, -150, -18, -707, -1206, 773, 2213, -1103, -4099, -148, 4920, 1964, -4229, -3712, 2162, 4419, 625, -3385, -1884, 1940, 1647, -380, -20, 128, -1196, -469, 1501, 781, -958, -675, 76, 5, -57, 151, 179, -107, -812, -794, 533, 891, -523, -1275, -233, 415, -37, -159, -33, -429, -532, -11, 264, 196, -122, -566, -404, 339, 429, -65, -236, -267, -234, 152, 349, -85, -461, -358, -210, -140, -14, -129, -562, -792, -484, 120, 14, -884, -1123, -631, 909, 2067, -667, -4037, -1355, 4252, 3448, -2641, -4573, -2, 4079, 2581, -1934, -2987, 423, 1876, 379, 159, 301, -1092, -1087, 935, 1201, -313, -641, -220, -290, -203, 202, 322, 83, -617, -1151, -136, 1010, 228, -985, -729, -81, -111, 60, 356, -250, -880, -422, 376, 626, 45, -737, -501, 420, 474, -134, -183, 22, -85, -175, -50, 60, 71, -278, -754, -380, 301, 43, -699, -834, -252, 48, -368, -882, -633, -480, -210, 1605, 1295, -2972, -3930, 2215, 5846, 440, -5643, -3328, 3463, 5121, -48, -4173, -1419, 2300, 1318, -171, 449, -273, -1594, -202, 1441, 482, -657, -421, -223, -361, -254, 81, 505, 248, -1095, -1364, 265, 1121, 38, -876, -680, -409, -7, 667, 371, -674, -828, -80, 516, 497, -112, -526, -130, 257, 106, 28, 252, 91, -404, -477, 56, 530, 93, -806, -832, 18, 256, -373, -656, -358, -240, -412, -620, -368, -146, -562, -1186, -542, 2280, 2144, -3148, -4711, 1982, 6407, 1166, -5297, -3726, 2667, 5130, 1000, -3472, -1802, 1609, 1065, 169, 1161, 24, -2057, -638, 1360, 509, -383, -19, -437, -966, -459, 212, 749, 433, -1228, -1752, 84, 1139, 157, -415, -475, -957, -488, 910, 974, -377, -1102, -513, 505, 866, 154, -537, -229, 228, 80, 67, 353, 74, -537, -496, 175, 424, -173, -647, -369, -230, -533, -204, 210, -348, -1000, -739, 67, 186, -534, -1191, -734, -348, -430, 1668, 2636, -2356, -5691, 835, 7387, 2867, -5403, -5260, 1931, 5986, 2144, -3517, -2657, 1432, 1327, -71, 1179, 545, -2272, -1353, 1386, 789, -716, -301, -121, -718, -941, -694, 468, 1305, -379, -2270, -1018, 967, 905, 173, -505, -1297, -789, 900, 1298, 61, -879, -644, 263, 764, 325, -204, -134, 34, -86, -48, 154, 105, -76, -254, -437, -439, -30, 297, -226, -1063, -873, 207, 342, -667, -974, -252, 122, -406, -753, -442, -93, -349, -826, -1092, -468, 2553, 3395, -2694, -6695, 517, 8364, 4117, -5372, -6340, 1233, 6434, 3022, -3159, -2885, 878, 741, -128, 1723, 870, -2628, -1823, 1156, 480, -908, -24, 172, -865, -1333, -999, 403, 1582, 198, -1797, -1204, 253, 458, 743, 826, -712, -1689, -67, 1709, 1152, -461, -941, -143, 664, 552, -124, -233, 319, 227, -489, -497, 198, 408, -196, -390, -164, -503, -729, 11, 430, -284, -980, -918, -149, 543, 110, -812, -627, -56, -282, -381, 262, -6, -1221, -1777, -708, 3607, 5425, -2739, -9512, -679, 10787, 6452, -6033, -8403, 419, 7380, 4190, -3207, -3435, 955, 512, -943, 1894, 1805, -2600, -2374, 1015, 162, -1428, 245, 1221, -242, -2038, -2287, 362, 3023, 1127, -2316, -1842, 385, 880, 972, 995, -278, -1384, -341, 1315, 1295, 27, -597, 5, 465, 23, -432, 220, 899, 169, -832, -668, 14, 13, 6, 383, -149, -1505, -1203, 779, 1123, -522, -1405, -621, 315, 261, -272, -229, 43, -380, -731, 23, 658, -121, -979, -784, -372, -1112, 221, 5119, 3277, -7084, -7801, 5284, 11210, 1267, -8829, -5834, 4134, 7231, 503, -4231, -773, 947, -1836, -141, 3303, 36, -3489, -836, 1008, -969, -1048, 863, 1092, -429, -2403, -2349, 1096, 3357, 885, -2165, -1915, -63, 1353, 1773, 659, -1037, -1148, 487, 1286, 390, -248, 55, 208, 23, -323, -687, -153, 930, 733, -943, -1854, -654, 1008, 953, -550, -1388, -702, 152, -24, -375, 114, 404, -669, -1359, -169, 847, 251, -549, -472, -327, -403, -232, 47, -169, -911, -1717, -835, 3659, 5150, -2972, -8922, -386, 9811, 5848, -5055, -7665, -322, 6304, 3814, -2715, -2915, 428, -235, -860, 1574, 789, -2484, -1340, 1286, -385, -2378, -498, 1798, 1155, -1501, -3044, -927, 2509, 2345, -585, -1709, -763, 242, 1184, 1448, 120, -1077, -274, 1076, 633, -715, -384, 888, 759, -512, -1259, -778, 458, 1112, 205, -1324, -1602, -425, 719, 710, -361, -1042, -493, 129, -244, -407, 487, 624, -600, -1033, -86, 339, 35, 135, 127, -556, -940, -559, 88, 329, -406, -1629, -1923, 1313, 5493, 1630, -7193, -5380, 5684, 8485, -3, -6842, -3918, 3541, 5159, -392, -3094, -153, 463, -1166, 148, 1037, -1088, -1336, 740, 271, -2068, -1676, 1169, 2011, -342, -2323, -1441, 875, 1859, 622, -789, -473, 136, -88, 405, 1192, 172, -755, 396, 863, -429, -784, 262, 932, 740, -565, -1927, -872, 1378, 1191, -771, -1220, -570, -431, -116, 550, 442, -420, -930, -684, 207, 871, 199, -660, -158, 268, -577, -714, 436, 616, -409, -841, -477, -246, -134, -142, -591, -971, -1569, -460, 4333, 4667, -4476, -8332, 1732, 9352, 3702, -5131, -5909, 817, 5401, 1581, -2946, -790, 931, -1331, -830, 1310, -340, -1984, 29, 1259, -810, -2550, -1094, 1682, 1920, -714, -2356, -928, 1136, 1578, 588, -522, -611, 35, 654, 819, -36, -807, 352, 1523, 159, -1606, -1104, 693, 1541, 262, -1774, -1662, 239, 799, 10, -218, -379, -1074, -849, 542, 1032, -61, -963, -455, 491, 280, -574, -275, 643, 227, -885, -688, 121, 103, -277, -423, -355, -401, -730, -521, 26, -510, -1775, -1734, 1883, 5786, 1219, -7524, -4923, 5671, 7639, 412, -5250, -3640, 2324, 3854, -534, -1785, 622, -333, -1611, 393, 219, -2076, ])\n",
    "out_window_c = np.array([\n",
    "\t\t0, 0, 0, 0, 0, -1, -1, 0, 2, 1, -2, -3, 2, 4, 0, -1, 0, -2, -1, 4, 4, -3, -5, -1, 2, 3, 1, -2, -4, -3, -2, 5, 6, -7, -14, -1, 11, 2, -8, -8, -6, -1, 6, 5, -7, -13, -7, 6, 13, -2, -18, -8, 8, 5, -2, -3, -7, -11, -5, 3, 0, -13, -20, -10, -3, -10, -19, -13, -20, -33, 39, 73, -75, -162, 35, 219, 48, -221, -152, 145, 225, -9, -206, -71, 141, 86, -35, -4, -14, -73, 8, 109, 29, -78, -44, 9, 16, 20, 13, -12, -33, -54, -13, 82, 39, -109, -101, 39, 59, -24, -46, -30, -40, -14, 35, 20, -37, -59, -32, 25, 46, -21, -51, -4, 2, -21, 13, 34, -39, -88, -35, 21, -10, -59, -58, -43, -73, -87, -25, -3, -123, -212, 138, 400, -202, -760, -28, 936, 378, -825, -733, 432, 895, 128, -702, -396, 412, 354, -83, -4, 28, -269, -107, 346, 182, -226, -161, 18, 1, -14, 38, 45, -27, -208, -206, 140, 236, -140, -345, -64, 114, -10, -45, -9, -123, -154, -3, 78, 58, -37, -172, -124, 105, 134, -20, -75, -86, -76, 50, 115, -28, -154, -121, -72, -48, -5, -45, -198, -282, -173, 43, 5, -325, -416, -235, 342, 784, -255, -1555, -526, 1663, 1359, -1049, -1830, -1, 1657, 1056, -797, -1240, 177, 790, 161, 68, 130, -473, -474, 411, 531, -139, -288, -99, -132, -93, 93, 149, 39, -290, -545, -65, 484, 110, -478, -356, -40, -55, 30, 178, -126, -446, -215, 193, 323, 23, -385, -263, 222, 252, -72, -98, 12, -46, -96, -27, 33, 39, -155, -424, -215, 171, 25, -401, -481, -146, 28, -216, -520, -375, -286, -126, 965, 783, -1805, -2399, 1359, 3603, 273, -3512, -2081, 2176, 3233, -30, -2659, -908, 1479, 851, -111, 293, -179, -1048, -133, 956, 321, -440, -283, -151, -245, -173, 55, 347, 171, -758, -948, 185, 785, 27, -619, -482, -291, -5, 479, 267, -487, -601, -58, 377, 365, -82, -389, -96, 191, 79, 21, 190, 69, -306, -363, 43, 406, 71, -621, -644, 14, 199, -291, -514, -281, -189, -326, -492, -293, -117, -450, -953, -437, 1843, 1739, -2560, -3842, 1621, 5256, 959, -4370, -3083, 2213, 4268, 834, -2905, -1512, 1353, 898, 143, 984, 20, -1753, -545, 1165, 437, -330, -16, -378, -838, -399, 185, 654, 379, -1077, -1541, 74, 1006, 139, -368, -422, -853, -436, 814, 873, -339, -992, -463, 457, 785, 140, -488, -209, 208, 73, 61, 324, 68, -495, -458, 162, 393, -161, -601, -344, -215, -498, -191, 197, -327, -940, -696, 63, 176, -505, -1128, -696, -331, -409, 1589, 2514, -2250, -5443, 800, 7083, 2752, -5194, -5062, 1861, 5775, 2071, -3401, -2572, 1388, 1287, -69, 1146, 530, -2213, -1319, 1353, 771, -700, -295, -119, -704, -924, -682, 460, 1284, -373, -2237, -1004, 954, 894, 171, -499, -1283, -781, 892, 1287, 60, -872, -639, 261, 759, 323, -203, -133, 34, -86, -48, 154, 105, -76, -253, -436, -438, -30, 297, -226, -1062, -872, 207, 342, -667, -974, -252, 122, -406, -753, -442, -93, -349, -826, -1092, -468, 2552, 3393, -2692, -6689, 516, 8354, 4111, -5363, -6327, 1230, 6417, 3013, -3149, -2875, 875, 738, -127, 1714, 865, -2612, -1811, 1148, 476, -901, -24, 170, -856, -1319, -988, 398, 1562, 195, -1772, -1186, 249, 451, 730, 811, -699, -1656, -66, 1673, 1127, -450, -919, -139, 647, 537, -121, -226, 309, 220, -473, -481, 191, 394, -189, -375, -158, -483, -699, 11, 411, -271, -935, -874, -142, 516, 104, -769, -593, -53, -266, -359, 246, -6, -1144, -1663, -661, 3364, 5051, -2546, -8826, -629, 9975, 5956, -5559, -7729, 385, 6763, 3833, -2928, -3130, 869, 465, -854, 1712, 1629, -2341, -2133, 910, 145, -1275, 218, 1086, -215, -1804, -2020, 319, 2658, 989, -2027, -1609, 335, 765, 843, 861, -240, -1191, -293, 1126, 1106, 23, -507, 4, 393, 19, -363, 185, 752, 141, -692, -554, 12, 11, 5, 314, -122, -1228, -978, 632, 908, -421, -1129, -498, 252, 208, -216, -181, 34, -299, -573, 18, 512, -94, -757, -604, -286, -852, 169, 3893, 2484, -5350, -5871, 3963, 8377, 943, -6551, -4313, 3045, 5307, 368, -3082, -561, 685, -1322, -101, 2361, 26, -2474, -590, 709, -679, -731, 600, 756, -296, -1650, -1606, 746, 2276, 597, -1455, -1282, -42, 898, 1171, 433, -679, -748, 316, 831, 251, -159, 35, 132, 15, -203, -430, -95, 576, 452, -578, -1132, -397, 609, 573, -329, -826, -416, 90, -14, -219, 66, 233, -384, -776, -96, 479, 141, -307, -262, -181, -222, -127, 26, -91, -490, -918, -444, 1933, 2705, -1552, -4632, -199, 5033, 2982, -2562, -3862, -161, 3137, 1886, -1335, -1424, 208, -113, -412, 750, 373, -1168, -626, 597, -177, -1089, -226, 812, 518, -669, -1347, -407, 1095, 1016, -252, -730, -324, 102, 495, 601, 49, -441, -111, 434, 253, -284, -151, 347, 295, -197, -481, -295, 172, 415, 76, -486, -584, -154, 258, 252, -127, -364, -171, 44, -83, -138, 163, 207, -198, -337, -28, 109, 11, 43, 40, -172, -288, -170, 26, 98, -120, -476, -557, 376, 1560, 458, -2003, -1483, 1551, 2293, -1, -1811, -1027, 918, 1324, -100, -778, -38, 114, -284, 36, 247, -256, -311, 170, 62, -466, -373, 257, 437, -74, -494, -303, 182, 381, 126, -158, -93, 27, -17, 77, 224, 32, -138, 72, 154, -76, -136, 45, 158, 123, -93, -313, -139, 217, 185, -118, -184, -85, -63, -17, 78, 62, -58, -126, -92, 27, 113, 25, -83, -20, 33, -69, -84, 50, 70, -46, -92, -51, -26, -14, -15, -59, -96, -152, -44, 404, 426, -401, -732, 149, 789, 306, -416, -469, 63, 411, 118, -215, -56, 65, -91, -55, 85, -22, -123, 2, 74, -47, -143, -60, 90, 100, -36, -116, -45, 53, 72, 26, -22, -25, 1, 26, 31, -1, -29, 12, 51, 5, -50, -33, 20, 44, 7, -47, -42, 6, 19, 0, -5, -8, -21, -16, 10, 18, -1, -15, -7, 7, 4, -7, -3, 7, 2, -9, -7, 1, 1, -2, -3, -2, -3, -4, -3, 0, -2, -7, -7, 6, 18, 3, -18, -10, 10, 12, 1, -6, -3, 2, 2, 0, -1, 0, 0, 0, 0, 0, 0, ])\n",
    "\n",
    "out_swapped_fft = np.array([\n",
    "\t-376-373j, 133+189j, 16-40j, -7+33j, -33-55j, 11+6j, -14-8j, -13-11j, -6-6j, -10-10j, -7-8j, -29+3j, 4-91j, -7+156j, 49-110j, -70-14j, 2+10j, -7-5j, -7-9j, -3+0j, -4-16j, -13-1j, 3-11j, 8-16j, 39+33j, -177+114j, 49-428j, 78+517j, 40-344j, -113+68j, 19-2j, 2+3j, -8-4j, -7-9j, 4-7j, 2+1j, 22+14j, -45+73j, -124-130j, 183-16j, -85+29j, -3+31j, 25-17j, -3-19j, -21-1j, 1-5j, -6+3j, -2+5j, -14-5j, -15-7j, -14-31j, 61+7j, -56+30j, 6-30j, -3-5j, -12+8j, -1-14j, 3+2j, -8-6j, -3-6j, -6-3j, -4-10j, 10-11j, -5+20j, -36-14j, 36-5j, -28-3j, 13+10j, -11-16j, -3+3j, -2-4j, -4+4j, 4-6j, -1+1j, 2+5j, -16+11j, -12-34j, 30+10j, -38+4j, 28-3j, -26-18j, 6+9j, 0-8j, -9-9j, 6+14j, -8-4j, -4-5j, -6-1j, 14-19j, 1+24j, -26-14j, 25-1j, -17-2j, 8+5j, -3-20j, -15+21j, 11-11j, -10-7j, -1-3j, -2-5j, 15+1j, -20+26j, -18-33j, 31+4j, -30+11j, 18-12j, -8-16j, -9+29j, 3-26j, -5+9j, 5-1j, 4-7j, -14+8j, -12-2j, -1-32j, 16+30j, -23-17j, 14-4j, -14-3j, 17+25j, -11-49j, -4+33j, 3-12j, -15+1j, -12+5j, 6-37j, 25-1j, -4+39j, -46-41j, 47+7j, -15+8j, -9+7j, -7-24j, 26+36j, -21-47j, -17+12j, 16-4j, 30-18j, -2+40j, -48+13j, 5-59j, 41+43j, -54-18j, 22+1j, -9-20j, 14+36j, -21-63j, 38+37j, 28-1j, -3+34j, -94+78j, -44-136j, 164-94j, -54+251j, -138-169j, 178+49j, -104-52j, 93+112j, -182-167j, 235+106j, -92-78j, -14+95j, 143+100j, -405-78j, 132-248j, 492+250j, -627+26j, 317-340j, -106+508j, 51-389j, -40+250j, 146-254j, -194+312j, 219-135j, -331-102j, 89+164j, 81-448j, 176+444j, -244+141j, 185-643j, -82+630j, -273-231j, 382+12j, -37-7j, -161+88j, 116-125j, -348+16j, 518-85j, -275-128j, 203+335j, -344+16j, 57-414j, 644+662j, -936-555j, 426+103j, 29+128j, -67+200j, -188-468j, 359+309j, -129-601j, 174+780j, 138-424j, -704+363j, 174-367j, 608+70j, -767+523j, 475-947j, -82+505j, 26+142j, -366-97j, 457-263j, -173+257j, 252-210j, -333+235j, 122+41j, -143-316j, 142+185j, -62+122j, 0-287j, 59+282j, -14-191j, -22+41j, -14-33j, 40+138j, 7-65j, -81+7j, 41-49j, -18-77j, 87+170j, -141-85j, 199+2j, -209+91j, 31-303j, 133+315j, -85+39j, -4-269j, -67+144j, 8-160j, 273+247j, -313-294j, 162+538j, -173-491j, 245+140j, -376+326j, 433-801j, 105+681j, -586-161j, -278-206j, 1120+210j, -635-306j, 412+275j, -801+195j, 979-126j, -1450-267j, 1542+430j, -768+122j, -456-983j, 1917+843j, -1826-24j, 195-771j, 531-89j, -421+1556j, 1158-1330j, -1143+1073j, -346-1020j, 568+834j, 99-1158j, -517+1317j, 152-927j, 1235-196j, -1419+1736j, 286-2006j, 458+330j, -35+769j, -743-525j, 423+1060j, -168-1364j, 523+433j, -919-303j, 1178+962j, -1071-1271j, 865+822j, -427+698j, -374-1899j, 1066+1498j, -145-120j, -1085-444j, 632-125j, -902-34j, 1449+543j, -682-347j, 700-147j, -1608+388j, 1927-209j, -1402+354j, -39-834j, 1747+995j, -1859-301j, 277-63j, 853-609j, -763+215j, 927-291j, -1636+1243j, 1704-515j, -976+131j, 743-1099j, -1544+2039j, 1199-2331j, 846+940j, -1898+1784j, 593-2603j, 344+322j, 523+1054j, -73-904j, -286+1328j, -813-1638j, 484+1777j, 56-1292j, 624+867j, -1509-1344j, 1630+1000j, -654+505j, -812-1403j, 1219+844j, 107-242j, -743+213j, 438+330j, -514-848j, 656+434j, -1033-553j, 718+1125j, -482-675j, 1642+20j, -2138+192j, 520-476j, 1582+319j, -1724+172j, 598+465j, 16-1122j, -717+687j, 1244-480j, -1154+396j, 1036-329j, -1334+417j, 1726-355j, -1203+1038j, 72-2126j, 861+1657j, -827+390j, -214-1357j, 383+556j, 271-51j, -315-225j, 356+581j, -427-465j, 262+345j, -195-427j, 262+592j, -610-381j, 813-250j, -260+577j, -420-168j, 234-228j, 65-37j, 45+108j, 75+47j, -133-11j, 58+41j, -50-64j, 40+96j, -95-138j, 162+76j, -189+85j, 46-150j, 108+11j, -43+39j, 7+51j, -16-21j, -43-12j, 49+13j, -34-39j, 20+45j, -13-65j, 52+99j, -110-67j, 101-55j, -7+86j, -39+17j, 11-16j, -18-46j, -3+29j, 35-12j, -32-6j, 30+24j, -22-36j, 26+37j, -49-35j, 61+7j, -32+38j, -12-45j, 11-4j, -10+10j, 19+5j, 0-3j, -14-3j, 11+24j, -10-30j, 2+26j, 2-40j, 18+51j, -56-21j, 40-41j, 18+42j, -5-2j, -4-3j, -11-2j, -6+8j, 22-3j, -23-20j, 15+28j, 0-30j, 4+40j, -23-42j, 45+14j, -24+18j, -7-5j, -2-4j, 2-6j, 18+8j, -13-13j, -7+4j, 7+20j, 3-38j, -10+44j, 6-55j, 21+59j, -52-18j, 21-27j, 10+10j, 1+1j, -5+6j, 0+3j, 6+0j, 4-11j, -23+2j, 19+21j, -2-28j, -1+46j, -32-46j, 42+7j, -4+21j, -7-4j, -1+0j, -2-4j, -1-5j, -1+5j, 0+6j, 2-8j, 8-3j, -38+11j, 44-54j, 23+65j, -43-5j, 0-11j, 2-10j, 2-1j, 9+1j, -1+3j, 8-20j, -33+3j, -4+27j, 35+12j, 48-105j, -20+234j, -154-141j, 101-60j, 14+31j, 4+9j, 2+13j, -10-10j, 7+1j, 7+9j, 13+21j, 88-119j, -399+50j, 617+97j, -491+66j, 133-197j, 45+55j, -13+11j, -5+11j, 6-3j, -5+0j, 4+4j, -3-5j, 3+0j, 16+8j, -7-67j, -111+64j, 178+6j, -91+13j, 13-21j, 4+1j, 0+2j, 2-2j, -1-2j, 2-5j, 19+21j, -47-24j, 44+3j, -32+26j, 208+146j, ])\n",
    "\n",
    "out_rfft = np.array([\n",
    "\t-375-2j, 169+27j, -8-29j, 18+18j, -40-12j, 14-3j, -6+3j, -7+0j, -3+1j, -5-1j, -2-1j, -8+16j, -43-49j, 86+79j, -31-83j, -39+29j, 9+2j, -2+0j, -6+0j, 1-1j, -8-5j, -3+4j, -2-8j, -4-13j, 42-9j, -20+156j, -222-243j, 346+211j, -181-195j, -10+97j, 12-9j, 5-2j, -1+0j, -10-1j, 2-7j, 3-3j, 20-10j, 25+67j, -138+9j, 81-126j, -21+69j, 20+9j, 5-20j, -15-13j, -7+12j, -1-3j, 1+2j, 1+1j, -5+5j, -7+5j, -26-12j, 35-31j, -1+46j, -16-21j, -1+1j, -3+6j, -3-5j, 1-3j, -5+0j, -4-1j, -2-1j, -7-2j, 2-13j, 19+10j, -31+14j, 14-27j, -13+14j, 15-6j, -13-7j, -2+4j, 0+1j, 1+0j, -3-6j, 0-1j, 7-2j, 1+18j, -33-8j, 26-24j, -14+29j, 9-26j, -16+17j, 10-7j, -4-5j, -11+2j, 12+0j, -3+2j, -4+0j, -6+0j, -9-19j, 25+6j, -25+14j, 12-22j, -10+14j, 13-11j, -19+1j, 10+10j, -2-10j, -9-2j, -4-1j, -4-2j, 16-18j, 11+29j, -36-4j, 20-24j, -8+22j, 5-16j, -15+8j, 14-4j, -12-6j, 0+2j, 8-1j, -4-9j, 3+7j, -15+17j, -13-26j, 33+6j, -33+7j, 18-15j, -18+12j, 22-7j, -25-7j, 17+13j, 2-16j, -18+17j, 0+10j, -21-20j, 14-44j, 39+44j, -70+13j, 43-42j, -17+28j, 16-15j, -27+9j, 30-2j, -30-3j, -11+9j, 10-25j, -15-33j, 54+15j, -7+80j, -79-74j, 92-13j, -72+52j, 34-41j, -37+20j, 39-11j, -73-17j, 48-14j, 37-47j, 28+27j, 77+155j, -237+12j, -38-329j, 363+251j, -363+94j, 220-255j, -163+177j, 188-130j, -294+169j, 268-245j, -191+67j, 129+65j, 270-219j, -309+645j, -358-319j, 668-708j, -267+1076j, -456-692j, 817+416j, -617-385j, 471+295j, -516-357j, 553+411j, -263-441j, -152+564j, 357-155j, -843-308j, 838+25j, 200+315j, -1058-374j, 848+200j, -337+289j, 475-499j, -554+154j, 363-119j, -346+333j, 236-77j, -332-234j, 7+150j, 705-297j, -533+625j, -306-321j, 954-376j, -925+581j, 397-399j, -80+628j, 409-808j, -585+728j, 8-696j, -167+433j, 410-472j, 159-147j, 96+1375j, -809-1040j, 498-440j, 435+1294j, -667-1160j, 317+603j, -459-137j, 786+397j, -731-759j, 450+219j, -373-177j, 391+377j, 134+40j, -955+38j, 932-392j, -64+413j, -689-259j, 955+208j, -785-282j, 339+110j, -358+136j, 751-199j, -453-29j, 306+95j, -561+167j, -82+52j, 599-702j, -269+932j, -185-372j, 463-369j, -591+590j, 630-443j, -467+122j, 264-200j, -123+676j, 235-517j, -379+233j, -6-378j, 249-157j, 84+1009j, -669-902j, 617+129j, 43+456j, -225-669j, 28+587j, 291-406j, -184+490j, -564-543j, 568+670j, -198-776j, 263+40j, 92+392j, -912+0j, 959-419j, -228+490j, -387-58j, 769-227j, -722+140j, 490+59j, -415-95j, 214-133j, -327+146j, 568-125j, -149+114j, -274+88j, 17-351j, 247+393j, -191-132j, 80-104j, -30+252j, 60-261j, -170+153j, 142-153j, -23+93j, 3-78j, -8+151j, -37-49j, 22-119j, 69+106j, -137-4j, 69-24j, 9+25j, -25-37j, -2+31j, 37-30j, -34+29j, 3-14j, -9+4j, 9-21j, -3+16j, -29+8j, 36-37j, -15+62j, 10-65j, 10+13j, -48+45j, 62-12j, -133-44j, 115+36j, -75-55j, 139-5j, -120+188j, -19-142j, 11-199j, 129+333j, -221-133j, 226-5j, -54+35j, -154-107j, 79+226j, -64-335j, 64+282j, 26-187j, 81+143j, -203-19j, 120-82j, 125-17j, -301+187j, 180-206j, 4+139j, -46-84j, 4-42j, -93+94j, 217-85j, -194+80j, 144-27j, -119+55j, 17-119j, 74+58j, -43+68j, -69-105j, 78+43j, -63+6j, 38-37j, 19+3j, -17-3j, -8+55j, 12-30j, -31+15j, 11-32j, 26+6j, -27+18j, -8-15j, 11-3j, -13+0j, 6-5j, 8+0j, -3+7j, -9+9j, -3-7j, -15-6j, 24-8j, -14+20j, -13-12j, 11-10j, -1+16j, -12-12j, 13+1j, -11+6j, 4-4j, -8+2j, 1-8j, -3+8j, 7-9j, -6+9j, -4-8j, 6-2j, -5+6j, -6-7j, 6+5j, -15-1j, 3+0j, -4+0j, 5-3j, -2+2j, -9-7j, -3+14j, 4-12j, 3+2j, -13+5j, 2-9j, 3+5j, -9+0j, 7-2j, -7-1j, 2+8j, -4-1j, -1-5j, -3+5j, -5-9j, 1+15j, -2-7j, -1-5j, 1+6j, -5-2j, 3-4j, -7+10j, 2-4j, -7+1j, -1+1j, 2+3j, -5-3j, 4+6j, -15-7j, 3+2j, 4+3j, -7-3j, 2+0j, -4+3j, -2-4j, -2+4j, -2+0j, -2+0j, -5+2j, 3+0j, -9-1j, 4+1j, -4+1j, -1+1j, 1+0j, -2+1j, -4+1j, 1+1j, -4-1j, -1+1j, -2+2j, -1-3j, -2+0j, -1+2j, -5-1j, 2+8j, -2-3j, -3+0j, -4+2j, 0+0j, 0+0j, -2+1j, -2+0j, -1+1j, -4-1j, 1+3j, 1-2j, -6+2j, -1+0j, -5+2j, 1-1j, -4-2j, -3+4j, -1+4j, -1+2j, -3+1j, -1+1j, -2+2j, -2-2j, 0+6j, -5-1j, 1+3j, -1+0j, -6+4j, 6-1j, -5+2j, -2+4j, -2+2j, -2-2j, -3+2j, 0+2j, -2+4j, -4-1j, 3+3j, -6+1j, 0+3j, -2+0j, -4+5j, 1+1j, -3-1j, -3+2j, -1+4j, -2-1j, -2+4j, -2+2j, 3+3j, -5+5j, 0+3j, -2+2j, -1+4j, -4+2j, -2+3j, -1+1j, -1+3j, -2+4j, 0+4j, -2+2j, -1+2j, -1+4j, -2+2j, -2+3j, -2+4j, -3+5j, -2+4j, -1+5j, -1+5j, -2+6j, 0+3j, -2+5j, -1+4j, -1+4j, -1+4j, -1+4j, -1+4j, 0+7j, ])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7ffb85918790>]"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(frame)\n",
    "#plt.plot(out_preemph_c * 2**(-15-Shift))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7ffb85752dc0>]"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(win_frame)\n",
    "plt.plot(out_window_c * 2**(-15-Shift))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5.454088445308242e-05"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(np.abs(np_fft[0:-1]))\n",
    "plt.plot(np.abs(out_rfft * 2**(-8-Shift)))\n",
    "mse_cplx(np_fft[0:-1], out_rfft * 2**(-8-Shift))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [],
   "source": [
    "# FLOAT"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(512,)\n"
     ]
    }
   ],
   "source": [
    "out_window_c = np.array([\n",
    "\t\t-0.000000, -0.000000, -0.000000, -0.000000, -0.000001, -0.000001, -0.000001, -0.000002, -0.000002, -0.000003, -0.000005, -0.000005, -0.000005, -0.000003, -0.000006, -0.000010, -0.000011, -0.000014, -0.000012, -0.000010, -0.000011, -0.000012, -0.000014, -0.000024, -0.000024, -0.000019, -0.000020, -0.000021, -0.000024, -0.000027, -0.000030, -0.000038, -0.000037, -0.000044, -0.000052, -0.000044, -0.000050, -0.000047, -0.000039, -0.000053, -0.000060, -0.000070, -0.000082, -0.000052, -0.000063, -0.000086, -0.000067, -0.000065, -0.000077, -0.000106, -0.000127, -0.000122, -0.000105, -0.000099, -0.000121, -0.000133, -0.000145, -0.000130, -0.000134, -0.000160, -0.000136, -0.000132, -0.000141, -0.000127, -0.000140, -0.000205, -0.000210, -0.000166, -0.000169, -0.000154, -0.000168, -0.000177, -0.000157, -0.000185, -0.000197, -0.000185, -0.000184, -0.000184, -0.000184, -0.000255, -0.000226, -0.000198, -0.000239, -0.000250, -0.000266, -0.000238, -0.000251, -0.000200, -0.000248, -0.000372, -0.000314, -0.000290, -0.000322, -0.000300, -0.000373, -0.000305, -0.000276, -0.000394, -0.000276, -0.000262, -0.000388, -0.000475, -0.000464, -0.000422, -0.000496, -0.000371, -0.000340, -0.000486, -0.000537, -0.000524, -0.000426, -0.000484, -0.000524, -0.000477, -0.000413, -0.000547, -0.000676, -0.000442, -0.000257, -0.000355, -0.000776, -0.000728, -0.000527, -0.000656, -0.000447, -0.000608, -0.000922, -0.000520, -0.000287, -0.000595, -0.000669, -0.000552, -0.000555, -0.000775, -0.001074, -0.000911, -0.000748, -0.000259, -0.000227, -0.000743, -0.000583, -0.000451, -0.000561, -0.000287, -0.000453, -0.000821, -0.000344, -0.000668, -0.000894, -0.000322, -0.001098, -0.001490, 0.000309, 0.000344, -0.001317, -0.001288, -0.000324, 0.000564, -0.000982, -0.002734, -0.000911, 0.000467, -0.000744, -0.000998, -0.000242, -0.001150, -0.001054, -0.000948, -0.001894, -0.000143, 0.000729, -0.001188, -0.002736, -0.003015, -0.001274, 0.000536, 0.000299, -0.000719, -0.001097, -0.001091, -0.001371, -0.001062, -0.000815, -0.001179, 0.000061, -0.000062, -0.001757, -0.001333, -0.001800, -0.001698, -0.000269, -0.000234, -0.000519, -0.001038, -0.001423, -0.001144, -0.001311, -0.002912, -0.003476, -0.001055, 0.000871, -0.000358, -0.001351, -0.000229, 0.000105, -0.000677, -0.001611, -0.001764, -0.001248, -0.001006, -0.001202, -0.001712, -0.001390, -0.001208, -0.001629, -0.001033, -0.000370, -0.000641, -0.001104, -0.001481, -0.001265, -0.001563, -0.002097, -0.002149, -0.002251, -0.001326, -0.000225, -0.000402, -0.001305, -0.000842, -0.000231, -0.000466, -0.000900, -0.001760, -0.001825, -0.001545, -0.001730, -0.001959, -0.000884, 0.000288, -0.000758, -0.002207, -0.003004, -0.002378, -0.000184, -0.000228, -0.002553, -0.003350, -0.001759, -0.000351, -0.001192, -0.001881, -0.001133, -0.000480, -0.001087, -0.001884, -0.001193, -0.000815, -0.001068, -0.001728, -0.001190, -0.000661, -0.001726, -0.001100, -0.000513, -0.001258, -0.002156, -0.001762, -0.000804, -0.001468, -0.001444, -0.000918, -0.001427, -0.001636, -0.001731, -0.002218, -0.001749, -0.000603, -0.000711, -0.001412, -0.001734, -0.002131, -0.001947, -0.001870, -0.001700, -0.000953, -0.001193, -0.001907, -0.001644, -0.001267, -0.002029, -0.002465, -0.002142, -0.001572, -0.000884, -0.001889, -0.002508, -0.001184, -0.001764, -0.002678, -0.001858, -0.001439, -0.001348, -0.001746, -0.002543, -0.002377, -0.001214, -0.001919, -0.002930, -0.002258, -0.000790, -0.000997, -0.002615, -0.001990, -0.001422, -0.001406, -0.001766, -0.002754, -0.002430, -0.001305, -0.002050, -0.002672, -0.001895, -0.002352, -0.002126, -0.002070, -0.001861, -0.001456, -0.001920, -0.002386, -0.002351, -0.002251, -0.002436, -0.002068, -0.001874, -0.002061, -0.002924, -0.002888, -0.002536, -0.002181, -0.002715, -0.003090, -0.002870, -0.003366, -0.002267, -0.002577, -0.004075, -0.002757, -0.001196, -0.002306, -0.003564, -0.002676, -0.002544, -0.002313, -0.002105, -0.003310, -0.003658, -0.002826, -0.002181, -0.002625, -0.003462, -0.003179, -0.002183, -0.002312, -0.003208, -0.003217, -0.003252, -0.002339, -0.001123, -0.002253, -0.002611, -0.002921, -0.003687, -0.002405, -0.002463, -0.003081, -0.003037, -0.003124, -0.001900, -0.002831, -0.003949, -0.003156, -0.002568, -0.002808, -0.003886, -0.003371, -0.001625, -0.002181, -0.004346, -0.003458, -0.001640, -0.001140, -0.001143, -0.002346, -0.003153, -0.002624, -0.002442, -0.003012, -0.003208, -0.003080, -0.002788, -0.002876, -0.002746, -0.002344, -0.003114, -0.003066, -0.002934, -0.002995, -0.002726, -0.002180, -0.002875, -0.003407, -0.001888, -0.003003, -0.002703, -0.001954, -0.002881, -0.002689, -0.003538, -0.003796, -0.002818, -0.001214, -0.001866, -0.004020, -0.002724, -0.002756, -0.002675, -0.001482, -0.002484, -0.003374, -0.003551, -0.002180, -0.001207, -0.002561, -0.003602, -0.002800, -0.003296, -0.003532, -0.002232, -0.002496, -0.002994, -0.002823, -0.002419, -0.002481, -0.003769, -0.003629, -0.003105, -0.003932, -0.003671, -0.003058, -0.002091, -0.003272, -0.003777, -0.002807, -0.002484, -0.001983, -0.003645, -0.003411, -0.002316, -0.001694, -0.001696, -0.002919, -0.002832, -0.002567, -0.003525, -0.004008, -0.002424, -0.001977, -0.002998, -0.003570, -0.003694, -0.002313, -0.000872, -0.001987, -0.003765, -0.004068, -0.002714, -0.001901, -0.003593, -0.002387, -0.000967, -0.002026, -0.002845, -0.003633, -0.002878, -0.002000, -0.001880, -0.002214, -0.002762, -0.002368, -0.002643, -0.003617, -0.002920, -0.002372, -0.003529, -0.003258, -0.002222, -0.003167, -0.003777, -0.003169, -0.001920, -0.001677, -0.002195, -0.002410, -0.002318, -0.002257, -0.003081, -0.002686, -0.002289, -0.002563, -0.002075, -0.001831, -0.003510, -0.004669, -0.002869, -0.002411, -0.002441, -0.001952, -0.003050, -0.003721, -0.003233, -0.001280, -0.002256, -0.003565, -0.002590, -0.002041, -0.002223, -0.003714, -0.003532, -0.002860, -0.002251, -0.001460, -0.002249, -0.003251, -0.002368, -0.003369, -0.004034, -0.002335, -0.003000, -0.003484, -0.003451, -0.003329, -0.003327, -0.004021, -0.002719, -0.001661, -0.001660, -0.002684, -0.002712, -0.002470, -0.003100, -0.002526, -0.002644, -0.002192, -0.001800, -0.001919, -0.002396, -0.004159, -0.003439, -0.002271, -0.003164, -0.003518, -0.002710, -0.002053, -0.002051, -0.003266, -0.004153, -0.002904, -0.003315, -0.004406, -0.002689, -0.000885, -0.002977, -0.004005, -0.002587, -0.002526, -0.002993, -0.002959, -0.002663, -0.001899, -0.002452, -0.003002, -0.002852, -0.003285, -0.002119, -0.002985, -0.004053, -0.003151, -0.002079, -0.002334, -0.003856, -0.004194, -0.002955, -0.002263, -0.002917, -0.003198, -0.002765, -0.002021, -0.003608, -0.003887, -0.001982, -0.002403, -0.003162, -0.002451, -0.002503, -0.003229, -0.003418, -0.003356, -0.003349, -0.003399, -0.002530, -0.002748, -0.004183, -0.004313, -0.003008, -0.002258, -0.003380, -0.004524, -0.003860, -0.002567, -0.003625, -0.004976, -0.004232, -0.003790, -0.003972, -0.003828, -0.003147, -0.003784, -0.005168, -0.004996, -0.003679, -0.002977, -0.004270, -0.004630, -0.003748, -0.003450, -0.004020, -0.004352, -0.004182, -0.003077, -0.002262, -0.002853, -0.004010, -0.004929, -0.003629, -0.002542, -0.002484, -0.003369, -0.004380, -0.004164, -0.003266, -0.002854, -0.003449, -0.003540, -0.002754, -0.002372, -0.003409, -0.003848, -0.003787, -0.003504, -0.002952, -0.004022, -0.003375, -0.002463, -0.002989, -0.003950, -0.003865, -0.002262, -0.002926, -0.003540, -0.003457, -0.003233, -0.003008, -0.003257, -0.003341, -0.003659, -0.003084, -0.002980, -0.003180, -0.003400, -0.003274, -0.002296, -0.003342, -0.003171, -0.001704, -0.001698, -0.002820, -0.003734, -0.002531, -0.001985, -0.002512, -0.002923, -0.002074, -0.002109, -0.003284, -0.002706, -0.002738, -0.002791, -0.003234, -0.003650, -0.002865, -0.002662, -0.002715, -0.002747, -0.003409, -0.003080, -0.002524, -0.003158, -0.002647, -0.002370, -0.002729, -0.002921, -0.002502, -0.002147, -0.002399, -0.002850, -0.003498, -0.002965, -0.002416, -0.002366, -0.002845, -0.002773, -0.001594, -0.001723, -0.002158, -0.002704, -0.003188, -0.002375, -0.002040, -0.002669, -0.002190, -0.001677, -0.002336, -0.002214, -0.002111, -0.001900, -0.001979, -0.002531, -0.002356, -0.001342, -0.001620, -0.002496, -0.001778, -0.002120, -0.002162, -0.001925, -0.001914, -0.001887, -0.002098, -0.001900, -0.001636, -0.001158, -0.001603, -0.001826, -0.001781, -0.001706, -0.001664, -0.001751, -0.001886, -0.001732, -0.001451, -0.001774, -0.001764, -0.001597, -0.001774, -0.001253, -0.000831, -0.001361, -0.001322, -0.001298, -0.001185, -0.000954, -0.000844, -0.001693, -0.002003, -0.001279, -0.001559, -0.001994, -0.002337, -0.001571, -0.001154, -0.001467, -0.001777, -0.001764, -0.001191, -0.001074, -0.001580, -0.001569, -0.000879, -0.000846, -0.000933, -0.001421, -0.001761, -0.001478, -0.001008, -0.001001, -0.001710, -0.001673, -0.001401, -0.001218, -0.000867, -0.000764, -0.001118, -0.001384, -0.001256, -0.001128, -0.001038, -0.001389, -0.001183, -0.000980, -0.001163, -0.000997, -0.000756, -0.000893, -0.001214, -0.001020, -0.000957, -0.001195, -0.001291, -0.000934, -0.000624, -0.000609, -0.000501, -0.000881, -0.001256, -0.000916, -0.000750, -0.001174, -0.001318, -0.001009, -0.000828, -0.000905, -0.000972, -0.000889, -0.000753, -0.000755, -0.000568, -0.000580, -0.000884, -0.000726, -0.001231, -0.001227, -0.000730, -0.000875, -0.000625, -0.000701, -0.000882, -0.000678, -0.000600, -0.000783, -0.000799, -0.000798, -0.000736, -0.000638, -0.000743, -0.000594, -0.000602, -0.000720, -0.000776, -0.000533, -0.000457, -0.000827, -0.000557, -0.000306, -0.000584, -0.000870, -0.000591, -0.000525, -0.000852, -0.000646, -0.000607, -0.000711, -0.000507, -0.000567, -0.000667, -0.000541, -0.000627, -0.000694, -0.000577, -0.000548, -0.000557, -0.000605, -0.000623, -0.000679, -0.000680, -0.000387, -0.000555, -0.000743, -0.000594, -0.000771, -0.000693, -0.000513, -0.000566, -0.000452, -0.000463, -0.000492, -0.000512, -0.000696, -0.000561, -0.000354, -0.000531, -0.000609, -0.000455, -0.000543, -0.000569, -0.000533, -0.000498, -0.000368, -0.000394, -0.000330, -0.000424, -0.000482, -0.000399, -0.000473, -0.000382, -0.000330, -0.000375, -0.000350, -0.000285, -0.000334, -0.000369, -0.000319, -0.000279, -0.000335, -0.000399, -0.000239, -0.000168, -0.000291, -0.000371, -0.000418, -0.000380, -0.000296, -0.000269, -0.000182, -0.000147, -0.000281, -0.000308, -0.000291, -0.000293, -0.000228, -0.000225, -0.000218, -0.000227, -0.000208, -0.000190, -0.000199, -0.000186, -0.000180, -0.000172, -0.000211, -0.000155, -0.000119, -0.000173, -0.000156, -0.000209, -0.000212, -0.000143, -0.000129, -0.000084, -0.000093, -0.000115, -0.000098, -0.000124, -0.000144, -0.000140, -0.000091, -0.000086, -0.000110, -0.000099, -0.000061, -0.000082, -0.000101, -0.000053, -0.000057, -0.000059, -0.000067, -0.000085, -0.000069, -0.000047, -0.000041, -0.000063, -0.000082, -0.000061, -0.000037, -0.000031, -0.000038, -0.000046, -0.000036, -0.000034, -0.000040, -0.000024, -0.000039, -0.000047, -0.000032, -0.000028, -0.000027, -0.000033, -0.000025, -0.000018, -0.000017, -0.000020, -0.000019, -0.000013, -0.000014, -0.000011, -0.000008, -0.000009, -0.000008, -0.000007, -0.000005, -0.000005, -0.000005, -0.000004, -0.000002, -0.000002, -0.000002, -0.000001, -0.000001, -0.000001, -0.000000, -0.000000, -0.000000, -0.000000, -0.000000, ])\n",
    "\n",
    "out_swapped_fft = np.array([\n",
    "\t-0.823974-0.823929j, 0.433087+0.366905j, -0.021698+0.069689j, -0.042805-0.059472j, 0.072012+0.039599j, -0.021665-0.005827j, -0.006007-0.013220j, 0.000861+0.023864j, 0.002590-0.015278j, 0.002205-0.002767j, -0.013630+0.006841j, 0.015290-0.018864j, -0.005853+0.023692j, -0.004248-0.006359j, 0.006728-0.004731j, -0.001277+0.009899j, 0.001546-0.006788j, 0.002733-0.003170j, -0.010230-0.007611j, 0.008511+0.011568j, -0.001219+0.001105j, -0.003324-0.007605j, 0.001700+0.013449j, -0.005145-0.011348j, 0.013886+0.000415j, -0.012681+0.002802j, -0.001686-0.001650j, 0.007285-0.000493j, -0.003180+0.009773j, 0.003304-0.009436j, -0.000128-0.002456j, -0.003789+0.008764j, 0.007486-0.007987j, -0.010313+0.002684j, 0.002675+0.000732j, -0.001048+0.001753j, 0.006943-0.000527j, 0.003137-0.001499j, -0.016179-0.006208j, 0.009151+0.003676j, -0.000526+0.010275j, 0.007166-0.006345j, -0.011249-0.006589j, 0.005649+0.000245j, -0.009026+0.012765j, 0.017033-0.006729j, -0.014072+0.000481j, 0.007051-0.004920j, 0.001135-0.004206j, -0.005931+0.012061j, -0.000728+0.001010j, 0.005029-0.012276j, -0.000405+0.011307j, 0.002926-0.001754j, -0.008229-0.007786j, 0.001532+0.002332j, 0.004717+0.006686j, 0.000090-0.001936j, -0.000584-0.003507j, -0.002734-0.000957j, 0.003290-0.000516j, -0.004506+0.004040j, 0.001682+0.001218j, -0.000890-0.000768j, 0.004131-0.010767j, -0.001598+0.017320j, -0.000360-0.009041j, -0.004697+0.005413j, 0.009913-0.011494j, -0.008853+0.008109j, 0.004962-0.005440j, -0.003699+0.009557j, 0.003151-0.001956j, -0.001528-0.003287j, -0.004215-0.005630j, 0.001316+0.009731j, 0.003705-0.002962j, 0.012022-0.000920j, -0.015386-0.007525j, -0.004087+0.001691j, 0.001598+0.006754j, 0.004090+0.006530j, 0.014448-0.002206j, -0.011334-0.008341j, -0.005833-0.002785j, -0.001279-0.001119j, 0.001275+0.018768j, 0.011097-0.012854j, -0.007840+0.000033j, 0.000267+0.004579j, -0.003928-0.009242j, 0.004337+0.006147j, 0.008137-0.000973j, -0.013942-0.004208j, 0.001206+0.006275j, 0.007291+0.001295j, 0.000536-0.004936j, -0.001312+0.001911j, 0.001005-0.002276j, -0.012147+0.003726j, 0.009174-0.000467j, -0.001446-0.004694j, 0.008986+0.008737j, -0.009406-0.003744j, -0.000017-0.007731j, 0.004639+0.006181j, -0.014180+0.003869j, 0.015788+0.001223j, 0.001719-0.007236j, 0.001189-0.000365j, -0.015499-0.006899j, 0.003267+0.017847j, 0.003122-0.004393j, 0.004933-0.004172j, 0.005872-0.001298j, -0.010057-0.006086j, -0.006642+0.014926j, 0.005351-0.001900j, 0.001562-0.000658j, 0.012165-0.008522j, -0.015420-0.006466j, -0.000326+0.005041j, -0.003239+0.016301j, 0.017829-0.008413j, -0.006485-0.008800j, -0.007229+0.004305j, 0.005861-0.000528j, -0.007832+0.005553j, 0.004077+0.001188j, 0.004706+0.000356j, 0.006712-0.008759j, -0.007639-0.002736j, -0.017093-0.000229j, 0.014858+0.023964j, -0.008562-0.014146j, 0.014092-0.006998j, 0.006343+0.006511j, -0.013914-0.013422j, -0.004159+0.009814j, 0.004434+0.006522j, -0.000691-0.002443j, 0.003254-0.000122j, 0.007397-0.005739j, -0.003475+0.005681j, -0.008412-0.005823j, -0.001570-0.003439j, 0.001161+0.009239j, 0.009689+0.002998j, -0.009677-0.013683j, 0.005158+0.019385j, -0.000866-0.016785j, -0.000756+0.006944j, 0.004601-0.007728j, -0.005612+0.003057j, -0.005697+0.004322j, 0.003168+0.001632j, 0.008850+0.006415j, 0.004775-0.015930j, -0.016388+0.007797j, 0.005737-0.006797j, -0.000069+0.008978j, 0.002562+0.005916j, -0.000589-0.012640j, 0.000015+0.005843j, 0.008112-0.005317j, -0.007394-0.003504j, -0.020700-0.000375j, 0.015760+0.018785j, 0.006433-0.004388j, 0.012366-0.009268j, -0.018782-0.006319j, 0.008917+0.007021j, -0.019290+0.002910j, 0.006378+0.002288j, 0.013067-0.005315j, -0.002308+0.002284j, 0.000705-0.001959j, -0.009503-0.004139j, 0.009629+0.011284j, -0.005088-0.010725j, -0.008485-0.000007j, 0.011134+0.011281j, 0.000015-0.011001j, 0.001485+0.005538j, -0.001437+0.001285j, -0.004455+0.007237j, 0.009311-0.021909j, -0.009005+0.007766j, -0.001892+0.003832j, 0.003566+0.010996j, -0.006698-0.012854j, 0.018267+0.009362j, -0.010477-0.018341j, -0.014302+0.014183j, 0.021906+0.002927j, -0.002769-0.011545j, -0.003687-0.001804j, -0.008878+0.007383j, 0.006329+0.009512j, -0.004033-0.005849j, 0.014413-0.007650j, -0.010971+0.005280j, 0.002119-0.013648j, -0.000179+0.016392j, -0.006151-0.003171j, 0.008726+0.011754j, -0.003420-0.009752j, 0.008763-0.018421j, -0.018967+0.015827j, 0.014327+0.003096j, -0.012089-0.003831j, 0.016588+0.011348j, -0.011252-0.014038j, 0.016026-0.004613j, -0.020162+0.005735j, 0.009724+0.005825j, -0.017613-0.013589j, 0.011671+0.026786j, 0.013129-0.019960j, -0.003273+0.001185j, -0.003390-0.000776j, -0.005416-0.006219j, -0.008681+0.005065j, 0.011276+0.017954j, -0.007176-0.000776j, 0.023805-0.012886j, -0.013919-0.010424j, -0.003879-0.000244j, -0.006676+0.008167j, 0.004428+0.011364j, -0.003575-0.002306j, -0.000883-0.013096j, 0.029810+0.012760j, -0.024787-0.012685j, 0.005590-0.011515j, -0.015591+0.033921j, 0.010442-0.017754j, 0.018900+0.009441j, -0.030541-0.019442j, 0.023813+0.010948j, -0.019747-0.003917j, 0.018051+0.014000j, -0.010881-0.021006j, -0.009817+0.012685j, 0.021906+0.011448j, -0.007119-0.008236j, 0.008256-0.014820j, -0.007260+0.006406j, -0.021118+0.000292j, 0.012976-0.000583j, 0.002041+0.015423j, 0.002442-0.009199j, 0.018198+0.003207j, -0.015342-0.018021j, -0.003534+0.008986j, -0.013501+0.009521j, 0.008798-0.004781j, 0.015431+0.014195j, -0.001752-0.022302j, -0.013731-0.007944j, -0.001875+0.030534j, 0.019438-0.022300j, -0.010571+0.006477j, -0.020948-0.009268j, 0.011126+0.023480j, 0.038874-0.011618j, -0.030804+0.008936j, -0.011477-0.041132j, 0.021882+0.040976j, -0.023733-0.029224j, -0.007548+0.029111j, 0.036965+0.016015j, 0.002901-0.033670j, -0.018371+0.003277j, 0.005991-0.027865j, -0.025907+0.044151j, -0.001055-0.010195j, 0.042501+0.023150j, -0.006883-0.022882j, -0.015483-0.024064j, -0.011610+0.015665j, -0.002568+0.013766j, 0.040611-0.005952j, -0.043334-0.006461j, 0.017228+0.004084j, 0.006171-0.003377j, 0.007209+0.016440j, -0.013823-0.032155j, -0.018557+0.021583j, 0.013177+0.006860j, 0.011866-0.002493j, 0.021373-0.001677j, -0.022275-0.019718j, -0.023478-0.007697j, 0.006880+0.034197j, 0.012835-0.000292j, -0.006321-0.013000j, 0.001199+0.027711j, 0.037455-0.042159j, -0.032502+0.004106j, -0.025010+0.001648j, 0.010856+0.011987j, 0.012262+0.016010j, 0.023652+0.004954j, -0.008831-0.055853j, -0.036145+0.035608j, 0.018544-0.013894j, 0.013192+0.028527j, -0.007171-0.017070j, -0.003264-0.011686j, -0.004859+0.007508j, -0.000234+0.003244j, 0.014414+0.012393j, -0.013259-0.003931j, 0.011912-0.027296j, 0.003742+0.026833j, -0.023245-0.020726j, 0.007616+0.027318j, 0.008359-0.003963j, -0.004998-0.015495j, 0.010760+0.009226j, -0.007751-0.016629j, -0.006246+0.012348j, -0.002371+0.021462j, 0.005263-0.031928j, 0.017002+0.010396j, -0.022822+0.000897j, 0.008587+0.005454j, 0.002403-0.017688j, -0.005070+0.018499j, -0.009567-0.016036j, 0.008888+0.022659j, 0.020571-0.008242j, -0.020829-0.024290j, 0.003346+0.018170j, -0.010662-0.004140j, 0.000258+0.025729j, 0.029036-0.019347j, -0.021930-0.007175j, 0.008039+0.009454j, -0.010312-0.009120j, -0.002168+0.003420j, 0.005768-0.001281j, 0.005384+0.010749j, 0.000233-0.001317j, 0.003975-0.008575j, -0.018077-0.014961j, 0.007344+0.019138j, -0.016290+0.013954j, 0.027612+0.003650j, 0.016372-0.021569j, -0.031396-0.013278j, -0.000318+0.003590j, -0.008376+0.017094j, 0.013488-0.002249j, -0.002025+0.001216j, 0.016568+0.005574j, -0.002628-0.016477j, -0.002636+0.005414j, -0.018639-0.010147j, -0.006940+0.015583j, 0.018820+0.016655j, 0.012852-0.016227j, -0.005891-0.016461j, -0.023001+0.002404j, 0.015922+0.011164j, -0.002321+0.002453j, -0.000476+0.012058j, 0.006214-0.021385j, 0.005624+0.008482j, -0.019564-0.021549j, 0.017632+0.025516j, -0.027527-0.009744j, 0.027082+0.016537j, 0.001865-0.015244j, -0.012188+0.007225j, 0.006410-0.027368j, -0.011580+0.024589j, -0.011698-0.005363j, 0.034462+0.027991j, -0.003803-0.027468j, 0.005592-0.007085j, -0.029555-0.002825j, -0.002595+0.019302j, 0.009569+0.007350j, 0.009504-0.022186j, 0.004629+0.013583j, 0.007212-0.019567j, -0.017256+0.005184j, -0.015860+0.004235j, 0.022726+0.018871j, -0.001865-0.012253j, 0.007093-0.006684j, -0.022958-0.002372j, 0.005170+0.011538j, 0.005243+0.004301j, 0.006373-0.016192j, 0.001255+0.004977j, -0.006874-0.003341j, -0.005631+0.003834j, 0.001041+0.008425j, 0.021639-0.002104j, -0.019041-0.008601j, 0.008636-0.005537j, -0.012737+0.011284j, 0.005427+0.008981j, 0.002757-0.017520j, 0.003597+0.007595j, -0.003066+0.001222j, -0.013241-0.002015j, 0.026777-0.001335j, -0.018103-0.000920j, 0.009202+0.006041j, -0.013078-0.006673j, 0.006914+0.001156j, -0.003132-0.000233j, 0.005716+0.001048j, -0.005820+0.008355j, 0.009638-0.004883j, -0.006910-0.009355j, 0.000947+0.001294j, -0.000292+0.007705j, 0.000551+0.003786j, 0.002736-0.008015j, -0.003915-0.012873j, -0.010431+0.014693j, 0.006331+0.015100j, 0.018595+0.001475j, -0.002945-0.027400j, -0.017806-0.007585j, -0.013004+0.014366j, 0.021404+0.018368j, 0.010288-0.008391j, -0.005218-0.007514j, -0.000170-0.012014j, -0.018899+0.012855j, 0.008603+0.006806j, 0.015634-0.003044j, -0.013476-0.002702j, -0.002571-0.005796j, 0.001421+0.005733j, 0.004192+0.007392j, -0.000052-0.007777j, 0.006428-0.004015j, -0.012447+0.004763j, 0.005407+0.000576j, -0.012697+0.000965j, 0.020242-0.002917j, -0.003088-0.003456j, -0.005339+0.010841j, -0.006606-0.011153j, 0.010846+0.001697j, 0.003249+0.004363j, -0.014390-0.000792j, 0.007101+0.001195j, -0.002170-0.007069j, 0.002520+0.003913j, 0.008682+0.006942j, -0.013151-0.011685j, 0.000598+0.007273j, 0.006384-0.002216j, -0.005575+0.000286j, -0.002547+0.005615j, 0.014441-0.005001j, -0.003683-0.004803j, -0.008049+0.009074j, 0.000061-0.017886j, -0.008442+0.029053j, 0.018669-0.019338j, -0.002128+0.010490j, -0.004647-0.014583j, -0.010530+0.008923j, 0.009832-0.002159j, 0.009374+0.011140j, -0.009383-0.016900j, -0.001572+0.000755j, -0.002670+0.010947j, 0.005975-0.004177j, -0.001303+0.006774j, 0.001893-0.014666j, -0.007763+0.008878j, 0.008967-0.003026j, -0.001213-0.001211j, -0.011960+0.004550j, 0.011274-0.004446j, 0.000376+0.008117j, -0.003320-0.000467j, 0.004874-0.016511j, -0.001645+0.016984j, -0.011443-0.006244j, 0.014572+0.002318j, -0.007977-0.003417j, 0.000742-0.001004j, 0.013552+0.007458j, -0.008986-0.009576j, -0.003061+0.002037j, -0.007623+0.002061j, 0.010478-0.000814j, -0.004726+0.007051j, -0.006921-0.004892j, 0.025579-0.006107j, -0.020589+0.016349j, 0.007657-0.014827j, -0.003654+0.002519j, -0.015168+0.003073j, 0.024489+0.000502j, -0.013781-0.006181j, -0.005716-0.022305j, 0.040614+0.073834j, -0.060806-0.043638j, 0.070597-0.021946j, 0.369151+0.435695j, ])\n",
    "\n",
    "out_rfft = np.array([\n",
    "\t-1.647903-0.000045j, 0.802215-0.068825j, 0.048885+0.091668j, -0.103517-0.015967j, 0.112627-0.034204j, -0.027505+0.016641j, -0.019731-0.007047j, 0.025355+0.022961j, -0.012820-0.017744j, -0.001010-0.005562j, -0.006319+0.021702j, -0.005115-0.035421j, 0.019788+0.029926j, -0.011298-0.001617j, 0.001665-0.011696j, 0.009664+0.010791j, -0.005840-0.008755j, -0.001029-0.005426j, -0.018080+0.002548j, 0.020773+0.003452j, -0.000068+0.002021j, -0.011415-0.003693j, 0.016814+0.010882j, -0.017446-0.004432j, 0.013586-0.017243j, -0.009337+0.019378j, -0.003678-0.001230j, 0.007020-0.008341j, 0.007907+0.013775j, -0.008083-0.014072j, -0.002572-0.000820j, 0.006612+0.011616j, -0.001189-0.015998j, -0.008851+0.015858j, 0.003946-0.005744j, 0.002028+0.006654j, 0.006167-0.011569j, -0.000110-0.003337j, -0.023237+0.011322j, 0.016486-0.005380j, 0.009847+0.010255j, -0.002636-0.016524j, -0.017343+0.009887j, 0.005928-0.010276j, 0.005347+0.030274j, 0.011563-0.033189j, -0.013395+0.018394j, -0.000655-0.014826j, -0.006284-0.000699j, 0.010643+0.017215j, 0.001246-0.004170j, -0.007609-0.009480j, 0.008370+0.008559j, 0.004005-0.006498j, -0.020697+0.002789j, 0.010666-0.000467j, 0.008238-0.001433j, -0.005658+0.003048j, 0.003514+0.001653j, -0.011444-0.005223j, 0.005057-0.003150j, 0.008647+0.007268j, -0.008613+0.004182j, 0.000711-0.009764j, -0.007430-0.004269j, 0.020199+0.017385j, -0.012670-0.009082j, 0.005119+0.005853j, -0.008875-0.016986j, 0.003793+0.012187j, -0.004597+0.001641j, 0.009595+0.001083j, 0.003623-0.005434j, -0.006369+0.002751j, -0.014620-0.003798j, 0.014651+0.011316j, 0.008971-0.003560j, -0.005161-0.023370j, -0.012946+0.013497j, -0.007492+0.005459j, 0.007270+0.011790j, 0.027818-0.004245j, -0.000570-0.023243j, -0.023100+0.000679j, -0.016809+0.021003j, 0.013763+0.007230j, 0.019707-0.004509j, -0.004353-0.023508j, -0.010375+0.011436j, 0.000675+0.008245j, -0.002836-0.003177j, 0.006671-0.006412j, 0.002754-0.004256j, -0.014234+0.009195j, 0.008305+0.008734j, 0.001155-0.011659j, 0.002949+0.000242j, -0.002038-0.000152j, 0.005169+0.001036j, -0.014088+0.005659j, 0.011475-0.004848j, -0.016897-0.007037j, 0.026091+0.010077j, -0.014780-0.000711j, -0.005064-0.003762j, 0.009312-0.005260j, -0.006015+0.021567j, 0.011487-0.011096j, -0.008360-0.016203j, 0.004906+0.007337j, -0.024427+0.004310j, 0.024352+0.012156j, 0.002979-0.008492j, -0.003855-0.007957j, -0.006380-0.002361j, -0.001155-0.000867j, 0.003637+0.020900j, 0.006166-0.003931j, 0.008636-0.008350j, -0.021169-0.012526j, -0.001476+0.012864j, -0.004273+0.010518j, 0.031464-0.003742j, -0.012077-0.017163j, -0.016894-0.009646j, -0.000492+0.022430j, 0.009486-0.012055j, 0.001011+0.025881j, 0.011783-0.004158j, 0.005365-0.019031j, -0.028445-0.011485j, 0.000332+0.010301j, -0.015185+0.028231j, 0.049597-0.014222j, -0.017917+0.001688j, -0.002256-0.030952j, -0.000602+0.024689j, -0.014475-0.007439j, -0.000689+0.016558j, 0.031871-0.006242j, -0.028249-0.000500j, 0.024149-0.017822j, -0.025182+0.009666j, 0.009099-0.003939j, -0.004077+0.022936j, 0.002116-0.010753j, 0.001713-0.002259j, 0.019641-0.007706j, -0.025061-0.007696j, -0.003850+0.013393j, 0.001457+0.017010j, 0.023945-0.008411j, -0.003465-0.018247j, -0.019476+0.005615j, -0.000074-0.003595j, -0.006400+0.013413j, 0.019316-0.002259j, -0.005616-0.004473j, 0.012438+0.011186j, -0.004276-0.020165j, 0.003194-0.002600j, -0.030618+0.003324j, 0.005673+0.023426j, 0.027989+0.004556j, -0.012087-0.019811j, 0.010367-0.014047j, -0.022294+0.014509j, 0.007484+0.006257j, -0.000792-0.000683j, 0.006246-0.012422j, 0.002185+0.006945j, 0.001170-0.005487j, -0.012426+0.010929j, 0.010796-0.008304j, -0.022773-0.002036j, 0.023072+0.025787j, 0.005887-0.024431j, -0.012525+0.003393j, 0.010481-0.017962j, -0.027935+0.018790j, 0.017166+0.014334j, 0.016542-0.021392j, -0.015011+0.012565j, 0.000458-0.018733j, -0.001288+0.017721j, 0.010655-0.002109j, -0.025738-0.008542j, 0.019585-0.004251j, -0.000737+0.032173j, 0.004362-0.021296j, -0.006364-0.012280j, -0.008141+0.011292j, 0.008208-0.005510j, -0.005588+0.017200j, 0.008651+0.001410j, 0.010139-0.024874j, -0.026644+0.016452j, 0.009392-0.023489j, 0.008639+0.027711j, -0.014655+0.002055j, 0.015213-0.012254j, 0.000875-0.001226j, -0.005668-0.008810j, -0.002431+0.011317j, -0.010320+0.016399j, 0.019284-0.026862j, 0.014461+0.016658j, -0.032593-0.041873j, -0.014858+0.056462j, 0.024604-0.003462j, 0.013476-0.012378j, 0.014145-0.012327j, -0.026413-0.003707j, -0.031728-0.010443j, 0.031862+0.048900j, 0.005507-0.028244j, -0.009720+0.013973j, 0.015958+0.000808j, 0.008609-0.034727j, -0.023952+0.005340j, -0.024291+0.017400j, 0.020224+0.004441j, 0.011909+0.004649j, 0.015653-0.006416j, -0.016419-0.022493j, -0.017742+0.028192j, 0.007581-0.014455j, 0.005771+0.004238j, 0.018099-0.001951j, -0.042603+0.002556j, 0.039675+0.009410j, -0.002507-0.013891j, -0.009300-0.018550j, -0.018114+0.024536j, -0.009141+0.021886j, 0.045927-0.019181j, -0.002723+0.009386j, -0.022638-0.046575j, 0.003272+0.029734j, -0.017516-0.005435j, 0.001005+0.034689j, 0.038304-0.015082j, -0.007207-0.028953j, -0.024370+0.028643j, 0.023811-0.040906j, -0.013137+0.040929j, -0.030948-0.010139j, 0.038695+0.012887j, 0.011690-0.022674j, -0.021144+0.008535j, -0.010164-0.006701j, 0.018951+0.022553j, -0.001458-0.030775j, -0.013971+0.007956j, -0.001834+0.022313j, 0.015503-0.014106j, 0.008798+0.004781j, -0.013574-0.009432j, -0.003452-0.008976j, -0.015103+0.018033j, 0.017781-0.003448j, 0.002929+0.009452j, 0.001634-0.015648j, 0.013172-0.000150j, -0.021682+0.000514j, -0.007081-0.005137j, 0.008400+0.013617j, -0.005459+0.008032j, 0.019977-0.011378j, -0.009181-0.013266j, -0.011222+0.021164j, 0.016712-0.013067j, -0.017851+0.004936j, 0.022957-0.013106j, -0.027823+0.021312j, 0.015631-0.011865j, 0.012109+0.016945j, -0.019017-0.029952j, 0.007848+0.010519j, -0.022156+0.013157j, 0.027501-0.015645j, -0.000945+0.012972j, -0.002639+0.005764j, 0.003697-0.015269j, -0.007548-0.006034j, -0.003479+0.001105j, -0.014291+0.012408j, 0.027724+0.008923j, -0.009315-0.000134j, 0.008800-0.017509j, -0.008724-0.002910j, -0.004267+0.008983j, -0.001374-0.001542j, -0.002799-0.003542j, 0.011399+0.019431j, 0.008547-0.026270j, -0.014213+0.014563j, 0.005416-0.006358j, -0.014569+0.001006j, 0.015253-0.001723j, -0.009849+0.011979j, 0.013299-0.011688j, -0.013303+0.007463j, 0.013374-0.001603j, -0.012939-0.015218j, 0.005211+0.012157j, 0.000663+0.012517j, 0.002634-0.010089j, -0.003003+0.002500j, -0.001012-0.016761j, 0.002928+0.012346j, -0.012079-0.003262j, 0.013614+0.007789j, -0.002637+0.003973j, 0.009602-0.009096j, -0.014528-0.004039j, -0.000288-0.002470j, -0.005293+0.013989j, 0.021614-0.005480j, -0.013711-0.012478j, -0.007925+0.022058j, 0.018657-0.014700j, -0.006580+0.012922j, -0.003167-0.010830j, 0.004108-0.003588j, -0.011588-0.001622j, 0.012227+0.014264j, -0.006524-0.003892j, 0.002254-0.001251j, -0.004044-0.005772j, 0.005459+0.007530j, 0.003481-0.010014j, -0.005079+0.006099j, 0.002017+0.005225j, 0.002494-0.011076j, -0.007641+0.003392j, -0.004923+0.003257j, 0.003655+0.004156j, 0.013910-0.003897j, 0.003621-0.001138j, -0.017176-0.001100j, 0.005579-0.009089j, -0.015198+0.011983j, 0.011503+0.007595j, 0.007459+0.002389j, 0.012252-0.021103j, -0.016482-0.000077j, -0.010416+0.008595j, 0.003909-0.000541j, -0.000363+0.002362j, 0.010111+0.014498j, 0.001784-0.015870j, -0.003581-0.007988j, 0.001637+0.003726j, -0.015337+0.001141j, 0.008366+0.012673j, 0.006103-0.003100j, 0.006941-0.004695j, -0.008259-0.002503j, -0.004776-0.007589j, 0.001126+0.005063j, -0.005881+0.001300j, 0.010529+0.017569j, 0.003117-0.022453j, -0.007617+0.008391j, 0.005970+0.000460j, -0.002874-0.009045j, -0.004161+0.004745j, 0.001878+0.007374j, -0.006951-0.001138j, 0.013015-0.006144j, -0.003263+0.007816j, 0.000032-0.007800j, -0.000355+0.003773j, -0.001605-0.008499j, -0.011627+0.013208j, 0.013355-0.009190j, 0.004767+0.000635j, -0.002343+0.010471j, -0.000277-0.010195j, -0.005711+0.000992j, -0.002379+0.005952j, 0.005602-0.005551j, -0.003255-0.000085j, 0.001863+0.002004j, 0.000661-0.001858j, 0.001003+0.002056j, 0.000475-0.001442j, -0.006848+0.004339j, 0.014046-0.004516j, -0.011977-0.001173j, 0.002082-0.006776j, -0.006851+0.012647j, 0.010375-0.006376j, -0.001905+0.003846j, 0.004428+0.002270j, -0.003906-0.010218j, -0.007647+0.010196j, 0.005377-0.004404j, 0.003156+0.000049j, 0.001183+0.004326j, 0.000553-0.007795j, -0.010113+0.002609j, 0.004919+0.002165j, -0.002658+0.002316j, 0.009729-0.003338j, -0.005407+0.000178j, -0.001076-0.003846j, 0.001981+0.005191j, -0.007867+0.001019j, 0.009671+0.000006j, -0.002652-0.003262j, 0.006901+0.001660j, -0.011137-0.004740j, 0.002750+0.004469j, -0.002407-0.002296j, 0.003303+0.006226j, 0.000316-0.004599j, 0.002539-0.002425j, -0.006618+0.004049j, 0.006329-0.001989j, -0.002626-0.004854j, -0.000541+0.009852j, 0.002328-0.004350j, -0.001380-0.001469j, 0.005019+0.004039j, -0.012100-0.008177j, 0.003553+0.009824j, 0.008031-0.003612j, -0.006040+0.001435j, 0.002014-0.006671j, -0.002324+0.007593j, 0.004617-0.003355j, -0.001813-0.003746j, -0.002609+0.009008j, -0.001716-0.009595j, 0.003336+0.006208j, 0.002300-0.001458j, -0.003070-0.000870j, 0.002270+0.000242j, 0.000949+0.002255j, -0.009101-0.001082j, 0.009507-0.000696j, -0.006218+0.000064j, 0.006341-0.000729j, -0.004409+0.001016j, -0.000387+0.000924j, -0.001555-0.002852j, 0.008473+0.003042j, -0.006940+0.001845j, 0.003689-0.008189j, -0.002306+0.004925j, 0.001482+0.001728j, -0.005680-0.005057j, 0.003003+0.006355j, 0.003577-0.002085j, -0.001001-0.004206j, -0.000452+0.004143j, -0.000683-0.001110j, -0.000481+0.002529j, -0.002391-0.004964j, 0.007063+0.003082j, -0.004521+0.000435j, -0.002133+0.000153j, 0.003736-0.001296j, -0.000343-0.000832j, -0.000616+0.000027j, -0.002972+0.002593j, 0.004296-0.001829j, -0.002407-0.000031j, 0.001447+0.001893j, -0.000729-0.001256j, -0.000542-0.002179j, 0.002039+0.002084j, -0.002325+0.000630j, 0.001674-0.001084j, -0.001894-0.000095j, 0.002899+0.000724j, -0.002574+0.000297j, 0.000431-0.001492j, 0.000912+0.000868j, -0.001434-0.000174j, 0.001231+0.000425j, -0.000573-0.000086j, 0.000187-0.000444j, 0.000640+0.000269j, -0.001328-0.000047j, 0.001530+0.000065j, -0.001346-0.000673j, 0.000857+0.000671j, -0.000542-0.000249j, 0.000114+0.000495j, -0.000408-0.000088j, 0.001290-0.000658j, -0.001135+0.000582j, 0.000701-0.000219j, -0.000237+0.000094j, -0.000463+0.000079j, 0.000337+0.000085j, 0.000129-0.000151j, -0.000062+0.000127j, -0.000185-0.000207j, 0.000346+0.000035j, -0.000439-0.000275j, 0.000242+0.000607j, -0.000004-0.000401j, -0.000057-0.000008j, 0.000125+0.000163j, -0.000002+0.000031j, -0.000093-0.000133j, 0.000013+0.000033j, 0.000023-0.000035j, ])\n",
    "\n",
    "print(out_swapped_fft.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7ffb85999100>]"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(win_frame)\n",
    "plt.plot(out_window_c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7ffb85de6e50>]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(np.abs(np_fft))\n",
    "plt.plot(np.abs(out_rfft))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
